Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。
使用Actuator
引入依赖即可
Maven
:1234<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>Gradle
:1compile('org.springframework.boot:spring-boot-starter-actuator')
Endpoints
配置文件属性介绍
地址和端口的配置
management.port
:指定访问这些监控方法的端口,与逻辑接口端口分离。如果不想将这些暴露在http中,可以设置 management.port = -1management.address
:指定地址,比如只能通过本机监控,可以设置 management.address = 127.0.0.1
敏感信息访问限制
根据上面表格,鉴权为false
的,表示不敏感,可以随意访问,否则就是做了一些保护,不能随意访问。
endpoints.mappings.sensitive=false
这样需要对每一个都设置,比较麻烦。敏感方法默认是需要用户拥有ACTUATOR
角色,因此,也可以设置关闭安全限制:
management.security.enabled=false
或者配合Spring Security
做细粒度控制。
自定义系统信息
可以通过访问/info
获取信息,需要在配置文件设置1234567891011info: aaa: name: xxx email: xxx@qq.com bbb: age: 25 hobbies: running build: artifact: "@project.artifactId@" name: "@project.name@" version: "@project.version@"
此时访问localhost:8080/info返回一下信息
如果使用maven
,可以访问pom.xml文件的信息,用法如下:
// 获取pom.xml中project节点下artifactId属性
artifact: “@project.artifactId@”
其他
/shutdown
这个需要post方式,通过请求来关闭应用。
这个操作比较敏感,要想真正生效,需要以下配置:
endpoints.shutdown.enabled: true
- 我们可以通过实现
HealthIndicator
接口,编写自己的/health
方法逻辑。也可以增加自定义监控方法。 - 查看详细介绍,请移步 官方文档